import java.util.Random;
//把数组内的元素进行随机排序，每次都有不同的顺序，就是一个抽奖的过程；
//随机生成的index就代表了这个元素在数组中的位置；
//这个代码就是用index来控制元素的位置的，然后再把元素换个位置，就是打乱了数组；
//因为有一个for循环，所以这个代码的时间复杂度是O(n)，是线性的；
public class 抽奖_moreEfficient {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = {2, 88, 555, 888, 1088};
        for (int i = 0; i < arr.length; i++) {
            int index = r.nextInt(5);
            int temp = arr[index];
            arr[index] = arr[i];
            arr[i] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println("第" + (i + 1) + "个中奖号码是：" + arr[i]);
        }
    }
}
